项目签名
HMI 设备可配置为只接受签名的项目。签名确保只有授权用户可以更新 JMobile HMI Runtime 应用程序。
要配置 HMI 设备只接受签名的项目,必须有 x.509 凭证才可签署项目。
x.509 凭证包括两部分:
-
certificate.pfx
包含签署项目所需主密钥的文件,必须安装在 PC 上,从 JMobile Studio 使用来签署要在 HMI 设备上下载的项目(主密钥是保留的文件,因为其所有者可能在面板上修改项目) -
certificate.crt
包含公钥的文件,必须加载到 HMI 设备才可让设备检查是否对项目正确签名(此文件将保存在 HMI 设备的受保护区域,因为一旦更换,将会失去保护)
我们使用安全哈希算法 (SHA256)
如何在 PC 上安装凭证
要在 PC 上安装凭证,双击 certificate.pfx 文件以激活 Windows 安装向导。将会提示您输入与凭证相关的密码和指定安装位置(例如,可安装在“个人”文件夹中)
如何在 HMI 设备上安装凭证
在 HMI 设备上,certificate.crt 可从 HMI 设备“系统设置”的“安全性”区域安装(请参阅"安全")。
在“安全性”区域中,选择:
- 域 = HMI Runtime
- 机密 ID = 项目签名
- 类型 = 凭证
- 使用“更新”按钮加载凭证
如何配置 JMobile Studio 在下载之前签署项目
在安装两个与凭证相关的文件后,可通过将“项目属性”中的“签署项目”属性设置为 true 来签署将要下载到面板的应用程序(请参阅"项目")。当您要在 HMI 设备上下载项目时,将会提示您使用必须与 HMI 设备上安装的凭证对应的凭证。
用于生成证书的脚本
以下示例说明如何使用公共 OpenSSL-Win32 库生成证书(参考:https://www.openssl.org/)
文件:CreateCertificates.cmd
@echo off set OpenSSL="C:\Program Files (x86)\OpenSSL-Win32\bin\openssl.exe" set CertificateName=MyCertificate rem Generate an RSA key %OpenSSL% genrsa -out certificate.key 4096 rem Creating Certificate Signing Requests %OpenSSL% req -new -sha256 -key certificate.key -out certificate.csr -subj "/ST=NY/C=US/L=New York/O=CompanyName/OU=R&D Team/CN=%CertificateName%" rem Self Sign the Certificate Signing Requests %OpenSSL% x509 -req -days 365 -in certificate.csr -signkey certificate.key -out certificate.crt rem Convert to .pfx file %OpenSSL% pkcs12 -export -out certificate.pfx -inkey certificate.key -in certificate.crt -CSP "Microsoft Enhanced RSA and AES Cryptographic Provider" pause
此程序将要求创建密码,访问凭证的主密钥时将需要此密码。